Apache Commons Collections লাইব্রেরি Typed Collections সরবরাহ করে যা কোলেকশনগুলিতে টাইপ সেফটি (type safety) নিশ্চিত করে। টাইপ সেফটি নিশ্চিত করার মাধ্যমে আপনি কোলেকশনগুলির উপাদানগুলির টাইপ সম্পর্কে নিশ্চিত হতে পারেন, যা রানটাইমে সম্ভাব্য ClassCastException থেকে রক্ষা করে। Typed Collections কোলেকশনের উপাদানগুলির জন্য একটি নির্দিষ্ট টাইপের অনুমতি দেয় এবং এইভাবে কোলেকশনগুলির উপর নির্ভরযোগ্য কাজ করতে সাহায্য করে।
এটি সাধারণত TypedCollection
ইন্টারফেস এবং TypedList
, TypedSet
ইত্যাদি কোলেকশন ইমপ্লিমেন্টেশন দ্বারা সরবরাহ করা হয়, যেখানে কোলেকশনের উপাদানগুলির টাইপ নির্দিষ্ট করা হয়। এই ফিচারটি কোলেকশন ব্যবহারের সময় টাইপ সংক্রান্ত ভুল থেকে বিরত থাকতে সহায়ক।
Typed Collections এমন কোলেকশন যা কেবল একটি নির্দিষ্ট টাইপের উপাদান ধারণ করে। এই কোলেকশনগুলির সাহায্যে, আপনি generics এর মতো টাইপ চেকিং সুবিধা লাভ করেন এবং এতে টাইপ সম্পর্কিত runtime errors কমে যায়। Apache Commons Collections-এ, টাইপ সেফটি নিশ্চিত করার জন্য TypedCollection
, TypedList
, TypedSet
ইত্যাদি ক্লাস ব্যবহার করা হয়।
টাইপ সেফ কোলেকশন তৈরি করার সময় আপনি কেবল নির্দিষ্ট ধরনের উপাদানকে কোলেকশনে যোগ করতে পারবেন। যদি আপনি একটি ভিন্ন ধরনের উপাদান যুক্ত করার চেষ্টা করেন, তবে এটি কম্পাইল টাইমে একটি এরর সৃষ্টি করবে।
Apache Commons Collections লাইব্রেরিতে TypedCollections এর ব্যবহার বেশ সহজ এবং নির্দিষ্ট টাইপের উপাদানগুলির সাথে কাজ করার জন্য খুবই কার্যকরী।
import org.apache.commons.collections4.ListValuedMap;
import org.apache.commons.collections4.list.TypedList;
import org.apache.commons.collections4.ListValuedMap;
import java.util.ArrayList;
import java.util.List;
public class TypedCollectionsExample {
public static void main(String[] args) {
// Create a TypedList that only accepts Strings
List<String> typedList = new ArrayList<>();
typedList.add("apple");
typedList.add("banana");
// Uncommenting the next line would cause a compile-time error
// typedList.add(42); // Error: Incompatible types
System.out.println("Typed List: " + typedList);
}
}
এখানে:
TypedList
তৈরি করা হয়েছে যা কেবল String টাইপের উপাদানসমূহ গ্রহণ করবে।typedList.add(42)
এই লাইনটি কম্পাইল টাইমে এরর ঘটাবে, কারণ 42 একটি Integer এবং এটি String টাইপের কোলেকশনে যোগ করা সম্ভব নয়।import org.apache.commons.collections4.SetValuedMap;
import org.apache.commons.collections4.set.TypedSet;
import java.util.Set;
import java.util.HashSet;
public class TypedSetExample {
public static void main(String[] args) {
// Create a TypedSet that only accepts Strings
Set<String> typedSet = new HashSet<>();
typedSet.add("apple");
typedSet.add("banana");
// Uncommenting the next line would cause a compile-time error
// typedSet.add(42); // Error: Incompatible types
System.out.println("Typed Set: " + typedSet);
}
}
এখানে:
TypedSet
তৈরি করা হয়েছে যা কেবল String টাইপের উপাদানসমূহ গ্রহণ করবে।typedSet.add(42)
এই লাইনটি কম্পাইল টাইমে এরর ঘটাবে, কারণ 42 একটি Integer এবং এটি String টাইপের কোলেকশনে যোগ করা সম্ভব নয়।টাইপ সেফটি নিশ্চিত করার জন্য, আপনি TypedCollection
, TypedList
, বা TypedSet
ব্যবহার করে কেবল একটি নির্দিষ্ট টাইপের উপাদানগুলিকে অনুমোদন করতে পারেন, যেমন:
import org.apache.commons.collections4.TypedCollection;
import java.util.ArrayList;
public class TypedCollectionExample {
public static void main(String[] args) {
// Create a TypedCollection for Integers
TypedCollection<Integer> typedCollection = new ArrayList<>();
typedCollection.add(10);
typedCollection.add(20);
// Uncommenting the next line would cause a compile-time error
// typedCollection.add("apple"); // Error: Incompatible types
System.out.println("Typed Collection: " + typedCollection);
}
}
এখানে:
TypedCollection
তৈরি করা হয়েছে যা কেবল Integer টাইপের উপাদান গ্রহণ করবে।typedCollection.add("apple")
এই লাইনটি কম্পাইল টাইমে এরর ঘটাবে, কারণ "apple" একটি String এবং এটি Integer টাইপের কোলেকশনে যোগ করা যাবে না।Typed Collections ব্যবহার করার মাধ্যমে আপনি টাইপ সেফ কোলেকশন ম্যানিপুলেশন করতে পারেন। কিছু সাধারণ ব্যবহার:
TypedList
: একাধিক List কোলেকশনে শুধুমাত্র একটি নির্দিষ্ট টাইপের উপাদান যোগ করা।TypedSet
: শুধুমাত্র নির্দিষ্ট টাইপের ইউনিক (unique) উপাদান সংরক্ষণ করতে ব্যবহার করা।TypedMap
: Map কোলেকশনে শুধুমাত্র নির্দিষ্ট টাইপের কী এবং মান সংরক্ষণ করতে ব্যবহার করা।আপনি যদি Typed Collections ব্যবহার করতে চান, তবে আপনাকে Apache Commons Collections লাইব্রেরিটি আপনার প্রোজেক্টে অন্তর্ভুক্ত করতে হবে। যদি আপনি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করতে হবে:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
এটি Apache Commons Collections লাইব্রেরি আপনার প্রোজেক্টে যোগ করবে, যার মাধ্যমে আপনি Typed Collections এবং অন্যান্য কার্যকারিতা ব্যবহার করতে পারবেন।
Typed Collections হল Apache Commons Collections লাইব্রেরির একটি শক্তিশালী ফিচার যা টাইপ সেফটি নিশ্চিত করে কোলেকশনগুলির উপাদানগুলির জন্য নির্দিষ্ট টাইপ ব্যবহার করতে সহায়তা করে। TypedList, TypedSet, এবং TypedCollection ইত্যাদি কোলেকশনগুলির মাধ্যমে, আপনি কেবল একটি নির্দিষ্ট টাইপের উপাদান কোলেকশনে সংরক্ষণ করতে পারবেন এবং টাইপ সংক্রান্ত ত্রুটির ঝুঁকি কমাতে পারবেন। এটি কোলেকশন ব্যবহারের সময় টাইপ ভুল এবং ClassCastException থেকে সুরক্ষা প্রদান করে।
common.read_more